/*
 *	Copyright (C) 2008 - Mauricio Bieze Stefani
 *	This file is part of the Insano Game Engine.
 *
 *	Insano is free software: you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation, either version 3 of the License, or
 *	(at your option) any later version.
 *
 *	Insano is distributed in the hope that it will be useful,
 *	but WITHOUT ANY WARRANTY; without even the implied warranty of
 *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *	GNU General Public License for more details.
 *
 *	You should have received a copy of the GNU General Public License
 *	along with Insano.  If not, see <http://www.gnu.org/licenses/>.
 */

#include "autorevision.h"
#include "GameClient.h"
#include "MBSTrace.h"
#include <iostream>
//#include <conio.h>

using namespace std;

int main(int argc, char** argv)
{
	int rc=0;

	bool tracefile=false;

	for(int a=1;a<argc;a++)
	{
		char *cmd=argv[a];
		if(cmd[0]=='-')
		{
			switch(cmd[1])
			{
				case 't':
				case 'T':
					tracefile=true;
				break;
				default:
				break;
			}
		}
	}

    cout << "==========================" << endl;
    cout << "Insano Game Client rev." << autorevision::svn_revision_s << endl;
    cout << "==========================" << endl << endl;

	// disable printing of __FILE__:__LINE__
	MBSTrace::getInstance().TraceLevelOpt[TRACE_LEVEL_INFO].printFileLine=false;

	if(tracefile)
	{
		MBSTrace::getInstance().setFileName("client.log");
		MBSTrace::getInstance().openFile();
	}

	{
		GameClient gc;
		rc=gc.run();
	}

	if(rc)
	{
		TRACE_ERROR("Program terminated with error number %d",rc);
		//getch();
	}
	else
		TRACE_INFO("Program terminated normally");

    return 0;
}
